<?php
namespace app\admin\controller;
use think\Controller;
use think\File;
use think\Request;
class Upload extends Controller
{
    // 在你的数据里建一个这样的图片表
    // 
	protected $model;
	public function _initialize()
    {
    	$this->model=db('picture');
    }
    public function uploadPicture(){
        //file是传文件的名称，这是webloader插件固定写入的。因为webloader插件会写入一个隐藏input，不信你们可以通过浏览器检查页面
        $file = $this->request->file('file');
        $repath=input('post.name');
		$res=$this->model->where(array('repath'=>$repath))->find();
		if($res)
		{
		    $resResult['code']=1;
			$resResult['id']=$res['id'];
			$resResult['path']=$res['path'];
			return json_encode($resResult);
		}else{
			$info = $file->move(ROOT_PATH . 'public' . DS . 'upload');
			if($info){
				$filepath='/public/upload/'.date('Ymd') .'/'.$info->getFilename();
				$picId=$this->model->insertGetId(['path'=>$filepath,'repath'=>input('post.name'),'status'=>1,'create_time'=>time()]);
				$resResult['code']=1;
				$resResult['id']=$picId;
				$resResult['path']=$filepath;
				return json_encode($resResult);
			}else{
				// 上传失败获取错误信息
				$resResult['code']=0;
				$resResult['info']=$file->getError();
				return json_encode($resResult);
			}
	    }
    }

    //获取上传的所有图片
    public function getPictures(){
        $page=input('page');
        $keywords=input('keywords');
        if($keywords&&$keywords!=''){
            $map['repath']=array('like','%'.$keywords.'%');
        }
        $r=15;
        $num = $page*$r-$r;
        $map['status']=1;//可以放置你要请求的数据值，如若没有，查询所有
        $list=$this->model->where($map)->limit($num,$r)->order('id desc')->select();
        $count=$this->model->where($map)->count();

        if($list){
            if(is_int($count/$r)){
                $res['total'] = $count/$r;
            }else{
                $res['total'] = ceil($count/$r);
            }
            $res['status']=1;
            $res['list']=$list;
            $res['count']=$count;
        }else{
            $res['status']=0;
            if($keywords){
            	$res['msg']='暂无名为'+$keywords+'图片';
            }else{
            	$res['msg']='暂无本地图片';
            }

        }
        return json_encode($res);
    }
    //删除图片
    function delpic(){
        $id=input('id');
        $data=$this->model->where(array('id'=>$id))->find();
        $file=ROOT_PATH . $data['path'];
        if(file_exists($file))
          { //检查图片文件是否存在
            $result=unlink($file);
            $result1=$this->model->where(array('id'=>$id))->update(['status'=>-1]);
            if ($result&&$result1){
              $res['status']=1;
              $res['msg']='删除成功！';
              }else{
              $res['status']=0;
              $res['msg']='删除失败！';
              }
          }else{
            $res['status']=0;
            $res['msg']='图片文件不存在！';
          }
          return json_encode($res);
    }

}
